The Internet (or World Wide Web) has assumed a position of critical importance in today's so-called Information Age. Everyday users, many of whom freely consider themselves to be “computer illiterate”, are nevertheless able to access the wealth of resources on the Internet from their computers. This is made possible, in part, by the creation of web browsers (or internet browsers), which are software programs that allow different users and/or applications to access information on the Internet.
This ease of access is also due, in large part, to the nature in which much of this Internet information is presented to users. Using a HyperText Markup Language (HTML), Internet server developers can create graphical screens or pages to present their information to the user in an easily-understandable visual format. This information, commonly referred to as a “web page”, is displayed on the user's screen, and can be navigated by the user with a simple input device, such as a mouse. Interactive controls, such as links to other web pages, may also be included with these web pages. These web pages are typically provided by the Internet server upon receipt of a request formulated by the user's Internet browser, or web browser, in accordance with a HyperText Transfer Protocol, or HTTP.
An alternative way in which these requests are initiated, and one that is becoming increasingly common, involves application programs that work in conjunction with a user's web browser to retrieve information from the Internet. For example, a book reading computer program (e.g., “MICROSOFT READERS®,” offered by Microsoft Corp.) might retrieve and display pages from one or more books provided by one or more selected online bookstores; or an accounting program (e.g., “MICROSOFT MONEY®”, also offered my Microsoft Corp.) might automatically retrieve and display a stock market web page for a user. To accomplish this, the requesting program could transmit a request to the user's web browser, and the web browser might then formulate and send an HTTP request to the Internet server for the web page. The browser might also receive the information returned from the Internet server, and forward this information on to the requesting application program.
Alternatively, the requesting program might incorporate some (or all) of the web browser functionality within itself, using this internal web browser functionality to generate the HTTP request and communicate with the Internet server.
Upon receipt of a request for a particular web page, an Internet server usually just provides the requested web page in response. In some instances, an Internet server may respond with data that is configured for the particular web browser that generated the HTTP request. This is possible using an HTTP User-agent header that may be included with the HTTP request. The User-agent header identifies the particular web browser that formed the HTTP request for the web page. In other instances, the HTTP request might also include “cookies” that have been set by the server, which may contain information that identifies the particular user (e.g., the user's address or biographical information), depending on the particular web page being requested. “Cookies” are known to those skilled in the art, and will not be further described herein.
Despite the User-agent headers and cookies discussed above, there remain situations in which Internet servers provide web pages that are less-than-optimal for the display area used to display the web pages. For example, and as shown in FIG. 1, a full-screen web page may be sent to a user who is directly using a web browser (e.g., “MICROSOFT INTERNET EXPLORER®,” offered by Microsoft Corp.) to access the web page. This full-screen page is acceptable, so long as the user and/or web browser use a full-screen display area 101 for the web page. However, many situations exist in which display area 101 may be resized by the user, an application program, and/or the web browser. Display area 101 may also be constrained by physical screen dimensions of a portable device used to operate the application program and/or web browser. For example, users of the “MICROSOFT WINDOWS®” operating system, offered by Microsoft Corp., are permitted the option of resizing a graphical display area 101. FIG. 2 shows the same screen from FIG. 1, with a resized display area 201. Because the Internet server was unaware of the resizing, the same full-screen web page was sent in response to the request. As a result, the resized graphical display area 201 displays a mere portion of the web page, and the user is typically required to scroll the display area 201 to the left, right, up and down to truly view its full contents.
FIG. 3 shows another example, in which a hand-held computing device 300 (such as the “POCKET PC®” products offered by the Hewlett-Packard Company, Casio Inc., or Compaq Computer Corp.) may be used to access web pages. The display area 301 on the hand-held computing device also differs from the full-screen display shown in FIG. 1, and like the resized display in FIG. 2, the full-screen web page provided by the Internet server is not ideal for use on display area 301.
The situations discussed above are mere examples of a problem encountered in the prior art in which an Internet server receives a request for information, such as a web page, and must prepare a response without sufficient information regarding the ultimate use of the web page. The Internet server provides the same web page, with the same layout and configuration, in response to web page requests received under different conditions and from different applications and/or devices, resulting in less-than-optimal usage of the user's, application's, and/or web browser's available display area. There is a present need for an improved Internet transmission protocol and system that can enable a more dynamic and customized Internet session to maximize the use of resources available to the requesting application and/or device which makes use of a web browser.